﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Zebra.Util.ExtendableEntityFramwork.Core
{
    public abstract class Attribute
    {
        protected abstract bool DoValidate();

        protected abstract string ValueString
        {
            get;
        }


    }

    public abstract class StructAttribute<T> : Attribute where T : struct
    {
        public abstract T? Value
        {
            get;
            set;
        }
    }

    public abstract class ClassAttribute<T> : Attribute where T : class
    {
        public abstract T Value
        {
            get;
            set;
        }
    }

}
